import request from '@/utils/request'

/**
 * 获取员工简单列表
 * @returns {AxiosPromise}
 */
export function getEmployeesSimpleList() {
  return request({
    url: '/sys/user/simple'
  })
}

/**
 *获取员工列表
 * @param params
 * @returns {AxiosPromise}
 */
export function getEmployeesList(params) {
  return request({
    url: '/sys/user',
    params
  })
}

/**
 * 新增员工
 * @param data
 * @returns {AxiosPromise}
 */
export function addEmployees(data) {
  return request({
    url: '/sys/user',
    method: 'POST',
    data
  })
}

/**
 * 删除员工
 * @param id
 * @returns {AxiosPromise}
 */
export function delEmployees(id) {
  return request({
    url: '/sys/user/' + id,
    method: 'DELETE'
  })
}

/**
 * 批量导入员工
 * @returns {AxiosPromise}
 * @param data
 */
export function batchImportEmployees(data) {
  return request({
    url: '/sys/user/batch',
    method: 'POST',
    data
  })
}

/**
 * 根据id 获取个人信息
 * @param id
 * @returns {AxiosPromise}
 */
export function getEmployeesInfo(id) {
  return request({
    url: '/sys/user/' + id,
    method: 'GET'
  })
}

/**
 * 更新员工信息
 * @param data
 * @returns {AxiosPromise}
 */
export function updateEmployeesInfo(data) {
  return request({
    url: '/sys/user/' + data.id,
    method: 'PUT',
    data
  })
}

/**
 * 获取员工详细信息
 * @param id 员工id
 * @returns {AxiosPromise}
 */
export function getEmployeesDetail(id) {
  return request({
    url: `/employees/${id}/personalInfo`,
    method: 'GET'
  })
}

/**
 * 更新员工详细信息
 * @param data
 * @returns {AxiosPromise}
 */
export function updateEmployeesDetail(data) {
  return request({
    url: `/employees/${data.id}/personalInfo`,
    method: 'PUT',
    data
  })
}

/**
 * 获取员工岗位信息
 * @param id
 * @returns {AxiosPromise}
 */
export function getEmployeesJobs(id) {
  return request({
    url: `/employees/${id}/jobs`,
    method: 'GET'
  })
}

/**
 * 更新员工岗位信息
 * @param data
 * @returns {AxiosPromise}
 */
export function updateEmployeesJobs(data) {
  return request({
    url: `/employees/${data.userId}/jobs`,
    method: 'PUT',
    data
  })
}

/**
 * 分配角色
 * @param {} data {id,roleIds}
 * @returns {AxiosPromise}
 */
export function assigningRoles(data) {
  return request({
    url: `/sys/user/assignRoles`,
    method: 'PUT',
    data
  })
}

